package com.sunrise.configuracoes.bean;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ComponentSystemEvent;

import lombok.Getter;

import org.springframework.stereotype.Controller;

import com.sunrise.configuracoes.servico.ManterPermissaoService;
import com.sunrise.configuracoes.visao.PermissaoForm;
import com.sunrise.generico.bean.ManterBean;
import com.sunrise.generico.entidade.Funcionalidade;
import com.sunrise.generico.entidade.Permissao;

@ManagedBean
@ViewScoped
@Controller
public class ManterPermissaoBean extends ManterBean<Permissao> {

	@Resource
	@Getter
	private ManterPermissaoService permissaoService;

	@Resource
	@Getter
	private PermissaoForm formulario;

	@Override
	public void inicializarEntidade() {
		setEntidade(new Permissao());
		getEntidade().setFuncionalidade(new Funcionalidade());
	}

	@Override
	public List<Permissao> iniciarlizarListEntidade() {
		return new ArrayList<Permissao>();
	}

	@Override
	public void preRenderNew(ComponentSystemEvent event) {
		inicializarEntidade();
		getFormulario().setFuncionalidades(getPermissaoService().listarFuncionalidadesOrdenado());
	}

	@Override
	public void preRenderEdit(ComponentSystemEvent event) {
		getFormulario().setFuncionalidades(getPermissaoService().listarFuncionalidadesOrdenado());
	}
	
	
	public void buscarPorFiltros(){
		setEntidades(getPermissaoService().buscarPorFiltros(getFiltro()));
	}
	
}
